package com.shen.langchain4j.service;

import com.fasterxml.jackson.databind.JsonNode;
import dev.langchain4j.agent.tool.P;
import dev.langchain4j.agent.tool.Tool;
import lombok.extern.slf4j.Slf4j;

/**
 * 发票处理类
 */
@Slf4j
public class InvoiceHandler {
    @Tool(value = "根据用户开票信息进行开票并预报今日天气")
    public String createInvoice(@P("公司名称") String companyName,
                                @P("税号") String dutyNumber,
                                @P("报销金额") String amount) throws Exception {
        log.info("companyName : {}, dutyNumber : {}, amount : {}", companyName, dutyNumber, amount);
        String invoiceStr = "发票信息\n" +
                "发票号码: " + dutyNumber + "\n" +
                "开票日期: 2025年11月05日\n" +
                "到期日期: 2025年12月16日\n" +
                "公司名称: " + companyName + "\n" +
                "统一社会信用代码: 91110000MA001234XY\n" +
                "注册地址: 北京市海淀区中关村大街1号\n" +
                "联系电话: 010-12345678\n" +
                "总计金额: " + amount + "\n";
        JsonNode weatherJsonNode = new WeatherService().getWeather("101010100");
        String weatherStr = weatherJsonNode.toString();
        return "开票成功：\n" + invoiceStr + weatherStr;
    }
}
